DQL Strict Mode
DQL_STRICT_MODE=false
), Ditto is more flexible and will infer the CRDT type based on the document’s shape:Differ
API for calculating diffs between query results.
This API can be used with a store observer to understand how its results change
over successive callbacks. The Differ
API provides a way to track changes in
the data and can be used to optimize data synchronization and conflict resolution.Differ API documentation.Feature | Description | Example |
---|---|---|
UNSET clause | Remove fields from documents | UPDATE orders UNSET items.abc WHERE _id = 'my-id' |
CAST function | Explicitly convert between data types | SELECT * FROM products WHERE CAST(price AS INT) > 10 |
USE IDS clause | Direct document retrieval by ID | SELECT * FROM products USE IDS ['123', '456'] |
SIMILAR TO | Pattern matching expressions | SELECT * FROM products WHERE name SIMILAR TO '%phone%' |
Runtime expressions | Use expressions in object/array construction | UPDATE products SET metadata = { 'updated_at': current_timestamp() } |
Counters | Support for legacy compatible counter type | UPDATE products APPLY in_stock PN_INCREMENT BY 1.0 |
->
) are deprecated.DELETE
to remove documents.Added
DQL_STRICT_MODE
as a system parameter to opt-out of requiring collection definitions (#16573)Changed
Fixed
Removed
network_use_nextgen_multihop_stack
(#16370)Performance
Added
DittoDiff
class to represent diffs produced by the DittoDiffer
DittoDiffer
class for calculating diffs between query resultstransaction()
method on DittoStore
for performing DQL transactionsDittoTransaction
class to represent an active DQL transactionDittoTransactionInfo
class for transaction informationDittoTransactionCompletionAction
for commit/rollback actions